Infinity-Report-Bug names a function, with lambda list (D USER RECIPIENT/S):
This method allows the client to “phone home” to report a bug.
Lisp REPORT-BUG = JSON reportBug
The bug report itself is just a giant string embedded in the “bug” element, but a “cause” element will be treated as the subject. Note that the bug report — like all JSON input — will be cut off at a certain limit (typically 4KiB), so it's most helpful to keep it short & sweet: Typically, this should be something like a single stack backtrace (with as much detail as possible), rather than a complete log trace or something.
The suggested usage is to include the exception itself as “cause,” the backtrace up to a maximum of 1KiB, a log backtrace up to its last 1KiB as “bug,” and as much machine-formatted system information as possible in the “info'' object. Fields of ``info”
As many fields as possible, limit the contents to a reasonable length though…
Note that the keys listed are strings, so e.g.:
info ["navigator.language"] = navigator.language; info ["navigator.product"] = navigator.product;
ActionScript example:
var info:Object = { "flash.sys.ime": flash.system.System.ime, "flash.sys.totalMemory": flash.system.System.totalMemory, "flash.sys.useCodePage": flash.system.System.useCodePage }; // imperfect but close for ( var key in flash.system.Capabilities ) { info["flash.sysCap." + key] = flash.system.Capabilities[key]; }
ActionScript: flash.system.Capabilities.screenResolutionX
ActionScript: flash.system.Capabilities.screenResolutionY
ActionScript: flash.display.Stage.fullScreenHeight
ActionScript: flash.display.Stage.fullScreenWidth
var topWindow = window.parent; for (; topWindow.parent != topWindow; topWindow = topWindow.parent) ; info ["window.windowName"] = topWindow.name;
// ActionScript example function systemReport:Object () { return { "screen": { "height": flash.system.Capabilities.screenResolutionX, "width": flash.system.Capabilities.screenResolutionY, "availHeight": flash.display.Stage.fullScreenHeight, "availWidth": flash.display.Stage.fullScreenWidth, }, "flash": { "sys": { "totalMemory": flash.system.System.totalMemory, "ime": flash.system.System.ime, "useCodePage": flash.system.System.useCodePage, }, "sysCap": { "avHardwareDisable": flash.system.Capabilities.avHardwareDisable, "hasAccessibility": flash.system.Capabilities.hasAccessibility, "hasAudio": flash.system.Capabilities.hasAudio, "hasAudioEncoder": flash.system.Capabilities.hasAudioEncoder, "hasEmbeddedVideo": flash.system.Capabilities.hasEmbeddedVideo, "hasIME": flash.system.Capabilities.hasIME, "hasMP3": flash.system.Capabilities.hasMP3, "hasPrinting": flash.system.Capabilities.hasPrinting, "hasScreenBroadcast": flash.system.Capabilities.hasScreenBroadcast, "hasScreenPlayback": flash.system.Capabilities.hasScreenPlayback, "hasStreamingAudio": flash.system.Capabilities.hasStreamingAudio, "hasStreamingVideo": flash.system.Capabilities.hasStreamingVideo, "hasTLS": flash.system.Capabilities.hasTLS, "hasVideoEncoder": flash.system.Capabilities.hasVideoEncoder, "isDebugger": flash.system.Capabilities.isDebugger, "isEmbeddedInAcrobat": flash.system.Capabilities.isEmbeddedInAcrobat, "language": flash.system.Capabilities.language, "localFileReadDisable": flash.system.Capabilities.localFileReadDisable, "manufacturer": flash.system.Capabilities.manufacturer, "os": flash.system.Capabilities.os, "pixelAspectRatio": flash.system.Capabilities.pixelAspectRatio, "playerType": flash.system.Capabilities.playerType, "screenColor": flash.system.Capabilities.screenColor, "screenDPI": flash.system.Capabilities.screenDPI, "version": flash.system.Capabilities.version }, "displayState": ( flash.display.Stage.displayState == FULL_SCREEN_INTERACTIVE ? "fullScreen" : "window" ), "frameRate": flash.display.Stage.frameRate, "quality": flash.display.Stage.quality, "scaleMode": flash.display.Stage.scaleMode } }; }
jso - Must contain a single string attribute named “bug.” Should contain an attribute named “info” with system information key-value pairs (see above). May also have a subject of “cause” as a string.
u - The user reporting the bug.
Defined in file src/infinity/legacy-commands.lisp.